Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ExpressRunner 支持线程重入 #155

Merged
merged 1 commit into from
Oct 15, 2021

Conversation

DQinYuan
Copy link
Collaborator

@DQinYuan DQinYuan commented Oct 7, 2021

issue #154

修复一直以来有很多人反馈的无法线程重入执行的问题。下文中称线程第一次运行脚本为 “原执行”,在脚本中又重入运行脚本为 “重入执行”。

在线程重入的情况下,重入执行调用的 InstructionSetRunner.executeOuter 在返回之前会清空缓存,而且原执行使用的也是同样的缓存,这就导致原执行持有的数据都被清空了,会产生莫名其妙的错误。

executeOuter

修复这个问题只需要判断线程重入,改成调用不清空缓存的 InstructionSetRunner.execute 方法即可。

@baoxingjie baoxingjie merged commit e3a24c5 into alibaba:master Oct 15, 2021
@fxstiandi
Copy link

fxstiandi commented Sep 13, 2023

发现另外一个expressRunner的线程重入的问题,关于计时器reset的问题:
image

QLExpressTimer.reset();这句应该移到InstructionSetRunner.executeOuter()里,只在最外层执行结束后才重置计时器。
image

#294

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants